import { contextBridge, ipcRenderer } from 'electron';
// 向main主进程通讯
contextBridge.exposeInMainWorld('electronAPI', {
  showWin: () => ipcRenderer.send('show-win'),
  mouseAcross: (bool, options) => {
    ipcRenderer.send('mouse-across', bool, options);
  },
  capturePage: async () => {
    // 使用 invoke 发送异步请求并等待返回结果
    const result = await ipcRenderer.invoke('capture-page');
    return result;
  },
  // 发送对应的可以
  sendKey: (key) => ipcRenderer.send('watch-send-key', key),
  receiveMessage: (channel, callback) => {
    const cbs = (event, ...args) => callback(...args);
    ipcRenderer.on(channel, cbs);
    return () => {
      ipcRenderer.off(channel, cbs);
    };
  },
  // 获取主窗口中的token信息和令牌
  getTokenAndOtherData: async (data) => {
    // 使用 invoke 发送异步请求并等待返回结果
    const result = await ipcRenderer.invoke('get-page-data', data);
    return result;
  },
  // 授课资源列表切换资源
  resourceChange: (data) => ipcRenderer.send('resource-change', data),
  // 主动请求获取当前授课资源列表
  getResource: () => ipcRenderer.send('get-source-data'),
  // websocket 切换ppt 指令传输
  callwsOrder: (order) => ipcRenderer.send('callws-order', order),
  // 退出授课
  quit: () => ipcRenderer.send('destory-draw-windows'),
});
